<?php
////////////////////////////////////////////////////////////////////////////
//                                                                        //
// NOTICE OF COPYRIGHT                                                    //
//                                                                        //
// Dean`s Office for Moodle                                               //
// Электронный деканат                                                    //
// <http://deansoffice.ru/>                                               //
//                                                                        //
// Copyright (C) 2008-2999  Alex Djachenko (Алексей Дьяченко)             //
// alex-pub@my-site.ru                                                    //
// Copyright (C) 2008-2999  Evgenij Cigancov (Евгений Цыганцов)           //
// Copyright (C) 2008-2999  Ilia Smirnov (Илья Смирнов)                   //
// Copyright (C) 2008-2999  Mariya Rojayskaya (Мария Рожайская)           //
//                                                                        //
// This program is free software: you can redistribute it and/or modify   //
// it under the terms of the GNU General Public License as published by   //
// the Free Software Foundation, either version 3 of the Licensen.        //
//                                                                        //
// This program is distributed in the hope that it will be useful,        //
// but WITHOUT ANY WARRANTY; without even the implied warranty of         //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the          //
// GNU General Public License for more details.                           //
//                                                                        //
// You should have received a copy of the GNU General Public License      //
// along with this program.  If not, see <http://www.gnu.org/licenses/>.  //
//                                                                        //
////////////////////////////////////////////////////////////////////////////
// подключаем библиотеки верхнего уровня
require_once('lib.php');
require_once('form.php');
// получаем id назначения на должность, которое будем отображать
$id      = required_param('id', PARAM_INT);
// если мы добавили предмет в список преподаваемых - то запомним его id
$pitemid = optional_param('pitemid', 0, PARAM_INT);
// если предмет добавлялся в список
$actionadd    = optional_param('add', false, PARAM_BOOL);
// если предмет удалялся из списка
$actionremove = optional_param('remove', false, PARAM_BOOL);
// ловим значение галочки "сразу же активировать"
$activate     = optional_param('activate', false, PARAM_BOOL);
//проверяем доступ
$DOF->storage('appointments')->require_access('view',$id);

if ( ! $appointment = $DOF->storage('appointments')->get($id) )
{// в базе нет такой записи
    $DOF->print_error('appointment_not_found', null, $id, 'im' ,'employees');
}
$DOF->modlib('nvg')->add_level($DOF->get_string('list_appointeagreement', 'employees'),
    $DOF->url_im('employees','/list_appointeagreements.php',$addvars));
$DOF->modlib('nvg')->add_level($DOF->get_string('view_appointment', 'employees'),$DOF->url_im('employees','/view_appointment.php?id='.$id,$addvars));
// создаем объект дополнительных данных для формы
$customdata = new object();
$customdata->dof = $DOF;
$customdata->id  = $id;
// создаем и показываем форму смены статуса
$statusform = new dof_im_employees_appointments_status_form($DOF->url_im('employees','/view_appointment.php?id='.$id,$addvars), $customdata);
$statusform->process();
// устанавливаем в форму значения по умолчанию
$statusform->set_data($appointment);

//печать шапки страницы
$DOF->modlib('nvg')->print_header(NVG_MODE_PORTAL);


if ( $DOF->storage('eagreements')->is_access('create') )
{// создание договора
    // проверка на лимит
    if ( $DOF->storage('config')->get_limitobject('eagreements',$addvars['departmentid']) )
    {
        $link = '<a href='.$DOF->url_im('employees','/edit_eagreement_one.php?id=0',$addvars).'>'.
            $DOF->get_string('new_eagreement', 'employees').'</a>';
        echo '<br>'.$link.'<br>';
    }else 
    {
        $link =  '<span style="color:silver;">'.$DOF->get_string('new_eagreement', 'employees').
        	' <br>&nbsp;&nbsp;&nbsp;&nbsp;('.$DOF->get_string('limit_message','employees').')</span>';
        echo '<br>'.$link.'<br>';
    }  
}
if ( $DOF->storage('appointments')->is_access('create') )
{// создание договора
    // проверка на лимит
    if ( $DOF->storage('config')->get_limitobject('appointments',$addvars['departmentid']) )
    {
        $link = '<a href='.$DOF->url_im('employees','/edit_appointment.php?id=0',$addvars).'>'.
            $DOF->get_string('new_appointment', 'employees').'</a>';
        echo '<br>'.$link.'<br><br>';
    }else 
    {
        $link =  '<span style="color:silver;">'.$DOF->get_string('new_appointment', 'employees').
        	' <br>&nbsp;&nbsp;&nbsp;&nbsp;('.$DOF->get_string('limit_message','employees').')</span>';
        echo '<br>'.$link.'<br><br>';
    }  
}

// выводим информацию по должности
$DOF->im('employees')->show_appointment($id,$addvars);

if ( $DOF->workflow('appointments')->is_access('changestatus') )
{// Форма смены статуса отображается только в случая наличия прав
    $statusform->display();
}

if ( $DOF->storage('appointments')->get_field($id, 'status') != 'canceled')
{// если назнначение еще не отменено
    // подключаем обработчик формы добавления/удаления предметов
    require_once($DOF->plugin_path('im', 'employees','/process_appointment_pitems.php'));
    
    // подключаем файл с формой добавления/удаления предметов
    require_once($DOF->plugin_path('im', 'employees','/pitems_assign.php'));
}


//печать подвала
$DOF->modlib('nvg')->print_footer(NVG_MODE_PORTAL);
?>